﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;

namespace BAL
{
    public class UsuarioBAL
    {
        public UsuarioBAL() { }

        public int LoginUser(DAL.Entities.UsuarioEntity user){
            try {
                DAL.UsuarioDAL dal = new UsuarioDAL();
                return dal.LoginUser(user);
            }catch(Exception ex){
                throw ex;
            }
        }

        public DAL.Entities.UsuarioEntity GetUsuarioByPasswordAndUsername(DAL.Entities.UsuarioEntity user)
        {
            try
            {
                DAL.UsuarioDAL dal = new UsuarioDAL();
                return dal.GetUsuarioByPasswordAndUsername(user);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public List<DAL.Entities.FuncionalidadEntity> GetFuncionalidesById(DAL.Entities.RolEntity rol)
        {
            try
            {
                DAL.UsuarioDAL dal = new UsuarioDAL();
                return dal.GetFuncionalidesById(rol);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        /// <summary>
        /// Funcion que busca un usaurio por su id
        /// </summary>
        /// <param name="usr"></param>
        /// <returns></returns>
        public DAL.Entities.UsuarioEntity GetUsuarioById(DAL.Entities.UsuarioEntity usr)
        {
            try
            {
                DAL.UsuarioDAL dal = new UsuarioDAL();
                return dal.GetUsuarioById(usr);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public bool SetPasswordByUsername(DAL.Entities.UsuarioEntity user)
        {
            try
            {
                DAL.UsuarioDAL dal = new UsuarioDAL();
                return dal.SetPasswordByUsername(user);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


    }
}
